/*
 * @# AlbumService.java 2011-12-23 下午04:23:01
 * 
 * Copyright (C) 2010 - 2011 广州羿安信息科技有限公司
 * Guangzhou ianswer information technology co. ltd.
 * 
 * All rights reserved!
 */
package com.ianswer.px.album.service;

import java.util.List;

import com.ianswer.px.album.entity.Album;

/**
 * @author alvin hwang
 */
public interface AlbumService {

	/**
	 * 查询最新的秀场相册(最多二十册).
	 * 
	 * @param userId
	 *            用户标识.
	 * @return 最新的秀场相册列表.
	 */
	List<Album> queryLastestShowAlbums(Long userId);

	/**
	 * 获取秀场的所有相册.
	 * 
	 * @param userId
	 *            用户标识.
	 * @return 秀场相册列表.
	 */
	List<Album> queryShowAlbums(Long userId);
	
	/**
	 * 根据分类获取秀场相册.
	 * 
	 * @param userId
	 *            用户标识.
	 * @param galleryId
	 *            相册分类标识.
	 * @return 相册分类下的秀场相册列表.
	 */
	List<Album> queryShowAlbums(Long userId, Long galleryId);

	/**
	 * 获取相册的详细信息.
	 * 
	 * @param albumId
	 *            相册标识.
	 * @return 相册详细信息.
	 */
	Album get(Long albumId);

	/**
	 * 新增相册.
	 * 
	 * @param album
	 *            相册信息.
	 * @return 相册标识.
	 */
	Long insert(Album album);

	/**
	 * 更新相册.
	 * 
	 * @param album
	 *            相册信息.
	 */
	void update(Album album);

	/**
	 * 删除相册, 并把其关联的所有相片删除.
	 * 
	 * @param userId
	 *            用户标识.
	 * @param albumId
	 *            相册标识.
	 */
	void delete(Long userId, Long albumId);
}
